A Domain-Specific Language for Device Drivers

نویسنده

  • Christopher Conway
چکیده

Device drivers have been noted as a major source of faults in operating system code [2]. Largely for efficiency, device drivers and other systems code have historically been written in low-level languages like C. Unfortunately, these languages do not provide the type safety and robustness one would expect in critical systems code. Work has been done to augment the type safety of low-level languages [3, 6], but the efficacy of this work is limited by both fundamental and practical concerns. In this paper, I will describe a domain-specific language and compiler for network interface device drivers. The language has been used to implement a driver for NE2000 network cards, a widely available class of inexpensive LAN adaptors. The language includes direct support for the operational semantics of device drivers and provides a high level of type safety. Concurrency semantics are included for the description of devices with multiple independent operational units. Though the language has been built for and tested on network drivers, it is flexible enough to describe a wider class of drivers. The compiler is also designed to be readily ported to a wider class of operating systems.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Domain-Specific Languages: From Design to Implementation Application to Video Device Drivers Generation

Domain-specific languages (DSL) have many potential advantages in terms of software engineering ranging from increased productivity to the application of formal methods. Although they have been used in practice for decades, there has been little study of methodology or implementation tools for the DSL approach. In this paper we present our DSL approach and its application to a realistic domain:...

متن کامل

Towards Verifiable Device Drivers: an Approach Based on Domain-specific Languages Fabrice Mérillon Laurent Réveillère Charles Consel Robin Hansen Renaud Marlet

Although peripheral devices come out at a frantic pace and require fast releases of drivers, little progress has been made to improve the development of drivers. Too often, this development consists of decoding hardware intricacies, based on ambiguous or incomplete documentation , to determine how to operate a device. Then, assembly-level operations need to be used to interact with the device. ...

متن کامل

Improving Driver Robustness: an Evaluation of the Devil Approach Laurent Réveillère and Gilles Muller

To keep up with the frantic pace at which devices come out, drivers need to be quickly developed, debugged and tested. We have recently introduced a new approach to improve driver robustness based on an Interface Definition Language, named Devil. Devil allows a high-level definition of the communication of a device. A compiler automatically checks the consistency of a Devil specification and ge...

متن کامل

SmPL: A Domain-Specific Language for Specifying Collateral Evolutions in Linux Device Drivers

Collateral evolutions are a pervasive problem in large-scale software development. Such evolutions occur when an evolution that affects the interface of a generic library entails modifications, i.e., collateral evolutions, in all library clients. Performing these collateral evolutions requires identifying the affected files and modifying all of the code fragments in these files that in some way...

متن کامل

A Domain Specific Language for Video Device Drivers: From Design to Implementation

Domain-speci c languages (DSL) have many potential advantages in terms of software engineering ranging from increased productivity to the application of formal methods. Although they have been used in practice for decades, there has been little study of methodology or implementation tools for the DSL approach. In this paper we present our DSL approach and its application to a realistic applicat...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002